home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MRAC / Generate / cf-sin < prev    next >
Lisp/Scheme  |  1998-08-11  |  2KB  |  47 lines

  1. cf-sin sequency amplitude samples <&optional phase-modulation> list
  2.  
  3. Conversion is a key element in SCOM composing. Vectors can become integers, integers can become symbols, and so on. In this respect cf-sin provides a more specific facility than cfunction in enabling both conversion and substitution
  4.  
  5. (setq sym1 '(a b c d e f g h i j k))
  6. (setq sym2 '((a b c d e f) (g h i j k l)))
  7.  
  8. (cf-sin '(1 2 3 5) '(-.5 .5) 6 sym1)
  9. => ((f a a f k k) (f a k f a k) (i i j h k a) (f a a f k k))
  10.  
  11. Here, a variable called sym1 is a list of symbols between a and k. This becomes a reference sequence for a conversion process, from vectors generated via the function gen-sin, through vectors to integers, through integers-to-symbols in the range a to k. This symbol list is substituted to make an appropriate quantitive sequence. In the function cf-sin the function gen-sin is subsummed into the function whole.
  12.  
  13. (cf-sin '(1 2 3 5) '(-.5 .5) '(6 4) sym1)
  14. => ((f a a f k k) (g e k a) (i i j h k a) (f k f a))
  15.  
  16. In the first parameter <frequency> the composer may give a list of frequencies as integers to apply to a series of sublists of numbers of symbols derived from the <samples> parameter. This parameter effectively is a symbol-divide list. In the example above '(6 4) divides the samples into lists of six and four symbols respectively.
  17.  
  18. (cf-sin '(1 2 3 5) .5 12 90 sym1)
  19. => ((k j i f d b a b c f h j)
  20.     (k i d a c h k i d a c h)
  21.     (k f a f k f a f k f a f)
  22.     (k b h f c j a j d f i b))
  23.  
  24. The remaining parameters of <amplitude> and <phase-modulation> refer to those specific to the function gen-sin.
  25.  
  26. (cf-sin '(1 2 3 5) .5 6 '(90 45) sym2)
  27. => ((f e b a b e) (l k g l k g) (f a f a f a) (k i g h j l))
  28.  
  29. (cf-sin '(1 2 3 5) .5 6 '(90 45) '(1 .3 64) sym2)
  30. => ((d f f c a b) (j l g k k g) (d d d b f a) (l h g h i i))
  31.  
  32. (cf-sin '(1 2 3 5) .5 '(6 4) '(90 45) '((5 3 2 1) .3 (36 58 64)) sym2)
  33. => ((c f e c b a) (j i l g) (d c e a f c) (i l g l))
  34.  
  35. (cf-sin '(1 2 3 5) .5 '(6 4)
  36.         '(90 45) '((5 3 2 1)  .3 (40 64)) sym2)
  37. => ((d f e b a a) (j i l g) (d c f a e e) (i l g i))
  38.  
  39. (cf-sin '(1 2 3 5) .5 '(6 4)
  40.         '(90 45) '((5 3 2 1)  .3 (40 64))
  41.         '((1/16 -1/6 2/16 3/16) (1/32 2/32 -1/32)))
  42. => ((2/16 3/16 2/16 -1/6 1/16 1/16) (2/32 2/32 -1/32 1/32)
  43.     (2/16 -1/6 3/16 1/16 2/16 3/16) (2/32 -1/32 1/32 2/32))
  44.  
  45.  
  46.  
  47.